﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-8 15:59:57
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.Data.Components.Structures
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// 数据库接口。
    /// </summary>
    public interface IDatabase
    {
        /// <summary>
        /// 判断表格是否已经存在。
        /// </summary>
        /// <param name="name">名称。</param>
        /// <returns>如果存在返回<c>true</c>，否则返回<c>false</c>。</returns>
        bool ContainsTable(string name);

        /// <summary>
        /// 通过名称获取表格实例。
        /// </summary>
        /// <param name="name">名称。</param>
        /// <returns>如果存在返回表格实例，否则返回<c>null</c>。</returns>
        ITable GetTable(string name);

        /// <summary>
        /// 新建表格。
        /// </summary>
        /// <param name="name">名称。</param>
        /// <returns>返回新建表格的实例对象。</returns>
        ITable CreateTable(string name);

        /// <summary>
        /// 保存表格。
        /// </summary>
        /// <param name="table">要保存的表格实例对象。</param>
        void SaveTable(ITable table);
    }
}
